﻿using Autofac;

using MiP.Xml.Core;
using MiP.XmlCmd.Shell.Args;
using MiP.XmlCmd.Shell.Commands;
using MiP.XmlCmd.Shell.Logging;
using MiP.XmlCmd.Shell.Variables;
using MiP.XmlCmd.Shell.XmlSource;

using Module = Autofac.Module;

namespace MiP.XmlCmd.Shell
{
    public class ShellModule : Module
    {
        protected override void Load(ContainerBuilder builder)
        {
            builder.RegisterAssemblyTypes(ThisAssembly).AsImplementedInterfaces().InstancePerLifetimeScope();

            builder.RegisterType<TransformCommand>().InstancePerLifetimeScope();
            builder.RegisterType<HelpCommand>().InstancePerLifetimeScope();
        }
    }
}